package com.xiaoc.bulldozer.common.dao;

import com.xiaoc.bulldozer.common.model.User;
import com.xiaoc.bulldozer.common.dto.UserDto;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * UserMapper 用户信息
 *
 * @author CodeGenerator
 * @date 2014-05-20 17:26:51
 */
public interface UserMapper {

    /**
     * 修改用户信息
     *
     * @param user
     */
    public void update(User user);

    /**
     * 根据ID安装用户信息
     *
     * @param id ID of user
     * @return object of <code>User</code>
     */
    public User getUserById(Integer id);

    /**
     * 根据loginName获取用户信息
     *
     * @param loginName
     * @return
     */
    public User getUserByLoginName(String loginName);

    /**
     * 创建用户
     *
     * @param user object of <code>User</code>
     */
    public void create(User user);

    /**
     * 查询用户数量
     *
     * @param userDto
     * @return
     */
    public Integer queryUserCount(UserDto userDto);

    /**
     * 查询用户列表
     *
     * @return
     */
    public List<UserDto> queryUserList(UserDto userDto);

    /**
     * 根据user id list 获取 user list
     *
     * @param userIdList
     * @return
     */
    public List<User> getUserListByUserIdList(@Param("userIdList") List<Integer> userIdList);

}
